﻿Public Class Form1
  Private Sub aggiungi_Click(ByVal sender _
          As System.Object, _
          ByVal e As System.EventArgs) _
          Handles aggiungi.Click
    ' aggiunge un nuovo nome leggendolo
    ' dal TextBox:
    Me.elenco.Items.Add(Me.nome.Text)
  End Sub

  Private Sub leggi_Click(ByVal sender _
          As System.Object, _
          ByVal e As System.EventArgs) _
          Handles leggi.Click
    ' visualizza il nome selezionato
    ' in elenco:
    If Me.Elenco.SelectedIndex() = -1 Then
      MessageBox.Show("Seleziona un nome.")
    Else
      MessageBox.Show("" &
        Me.Elenco.SelectedItem.ToString)
    End If
  End Sub

  Private Sub elimina_Click(ByVal sender _
          As System.Object, _
          ByVal e As System.EventArgs) _
          Handles elimina.Click
    ' elimina il nome selezionato in elenco:
    If Me.Elenco.SelectedIndex() = -1 Then
      MessageBox.Show("Seleziona un nome.")
    Else
      Me.Elenco.Items.Remove( _
          Me.Elenco.SelectedItem)
    End If
  End Sub

  Private Sub Form1_Load(ByVal sender _
          As System.Object, _
          ByVal e As System.EventArgs) _
          Handles MyBase.Load
    ' nomi aggiunti in elenco al caricamento
    ' del form:
    Me.elenco.Items.Add("Andrea")
    Me.elenco.Items.Add("Ornella")
    Me.elenco.Items.Add("Mario")
    Me.elenco.Items.Add("Rina")
    Me.elenco.Items.Add("Gian Carlo")
  End Sub

  Private Sub ordina_Click(ByVal sender _
          As System.Object, _
          ByVal e As System.EventArgs) _
          Handles ordina.Click
    If Me.elenco.Sorted = False Then
      ' se l'elenco non è ordinato,
      ' ordinalo:
      Me.elenco.Sorted = True
      ' modifica il testo del pulsante
      ' di ordinamento:
      Me.ordina.Text = "Non ordinare"
    Else
      ' se l'elenco è ordinato, non
      ' ordinare più i nuovi inserimenti:
      Me.elenco.Sorted = False
      ' modifica il testo del pulsante
      ' di ordinamento:
      Me.ordina.Text = "Ordina"
    End If
  End Sub

  Private Sub inserisci_Click(ByVal sender _
          As System.Object, _
          ByVal e As System.EventArgs) _
          Handles inserisci.Click
    ' inserisci un nuovo nome nella posizione
    ' selezionata:
    If Me.Elenco.SelectedIndex() = -1 Then
      ' se non è selezionato un nome in elenco
      ' aggiunge un nuovo nome leggendolo
      ' dal TextBox:
      Me.Elenco.Items.Add(Me.Nome.Text)
    Else
      ' se è selezionato un nome in elenco
      ' inserisce il nuovo nome leggendolo
      ' dal TextBox, nella posizione selezionata:
      Me.Elenco.Items.Insert(
        Me.Elenco.SelectedIndex(),
        Me.Nome.Text)
    End If
  End Sub
End Class
